           package com.java.diagnostics.visualizer.parser.vgc.sovereign;
           
           import com.java.diagnostics.visualizer.data.SourceData;
           import com.java.diagnostics.visualizer.exceptions.GCAndMemoryVisualizerException;
           import com.java.diagnostics.visualizer.impl.factory.LogFactory;
           import com.java.diagnostics.visualizer.parser.vgc.VGCParser;
           import com.java.diagnostics.visualizer.properties.OutputProperties;
           import com.java.diagnostics.visualizer.sources.Source;
           import java.util.logging.Logger;
           
           public class SovereignVGCParser
             implements VGCParser
           {
             private static final Logger TRACE = LogFactory.getTrace(SovereignVGCParser.class);
             private final String className = getClass().getName();
             private static final String GC_DETAIL_OPEN = "<GC(";
             private static final String CON_OPEN = "<CON[";
             private static final String AF_OPEN = "<AF[";
             private static final String GC_OPEN = "<GC[";
             private static final String[] IS_PARSEABLE_CRITERIA_STRINGS = { 
               "<CON[", "<AF[", "<GC(" };
           
             public boolean isParseableSource(Source source)
               throws GCAndMemoryVisualizerException
             {
               TRACE.entering(this.className, "isParseableSource");
               boolean answer = source
                 .containsWithinReasonableDistanceOfStart(IS_PARSEABLE_CRITERIA_STRINGS);
               TRACE.exiting(this.className, "isParseableSource");
               return answer;
             }
           
             public SourceData parse(Source source, OutputProperties properties) throws GCAndMemoryVisualizerException
             {
               TRACE.entering(this.className, "parse");
               SourceData sourceData = new InstanceSovereignVGCParser().parse(source, properties);
               TRACE.exiting(this.className, "parse");
               return sourceData;
             }
           }

